﻿#ifndef LISTWIDGET_H
#define LISTWIDGET_H

#include <QListWidget>
#include <QColor>
#include <QFont>

class ListWidget : public QListWidget
{
    Q_OBJECT

public:
    explicit ListWidget(QWidget *parent = nullptr);

    // 设置边框透明
    void setTransparentBorder(bool transparent);

    // 设置背景颜色
    void setBackgroundColor(const QColor &color);

    // 设置圆角
    void setBorderRadius(int radius);

    // 设置字体
    void setTextFont(const QFont &font);

    // 设置字体颜色
    void setTextColor(const QColor &color);

    // 设置字体大小
    void setTextSize(int size);

    // 设置选中项背景颜色
    void setSelectionColor(const QColor &color);

    // 设置鼠标滑过项背景颜色
    void setHoverColor(const QColor &color);

protected:
    void paintEvent(QPaintEvent *event) override;

private:
    bool m_transparentBorder;
    QColor m_backgroundColor;
    int m_borderRadius;
    QFont m_textFont;
    QColor m_textColor;
    int m_textSize;
    QColor m_selectionColor;
    QColor m_hoverColor;

    void updateStyleSheet();
};

#endif // LISTWIDGET_H
